package com.edfu.core.identitymgt.service.api;

import java.util.Collection;

import org.springframework.security.core.GrantedAuthority;

import com.edfu.core.identitymgt.vo.Permission;
import com.edfu.core.identitymgt.vo.Role;
import com.edfu.core.identitymgt.vo.RolePermission;
import com.edfu.core.identitymgt.vo.User;
import com.edfu.core.identitymgt.vo.UserEnrollment;
import com.edfu.core.util.Response;

public interface IIdentityMgtService {
	public void addRole(Role role) ;
	public void addPermission(Permission permission);
	public User getUser(String userId);
	public void addUser(User user);
	public boolean userExists(String userId);
	public void enrollUser(UserEnrollment enrollment);
	public void assignPermission(RolePermission rolePermission);
	public Response addMember(UserEnrollment member, String enrollmentCtxType, String enrollmentCtxId);
	public boolean isUserEnrolled(String userId, String roleName);
	public Collection<GrantedAuthority> getAuthorities(String userId);
}
